From 9de7c9f5959b3321f50d4a31cacfd62a90f609df Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 19 Jul 2017 18:13:47 +0200 Subject: [PATCH] gtkwindow: Free pointer foci on dispose That means the whole hierarchy is getting destroyed, leaving those behind incurs not only in a leak, but also on weak refs (and unintended repick) to happen in the wrong moment. --- gtk/gtkwindow.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index d680906e49..b476321fef 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -3237,6 +3237,9 @@ gtk_window_dispose (GObject *object) GtkWindow *window = GTK_WINDOW (object); GtkWindowPrivate *priv = window->priv; + g_list_free_full (priv->foci, (GDestroyNotify) gtk_pointer_focus_unref); + priv->foci = NULL; + gtk_window_set_focus (window, NULL); gtk_window_set_default (window, NULL); remove_attach_widget (window); -- 2.30.2